home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 April: Mac OS SDK / Dev.CD Apr 96 SDK / Dev.CD Apr 96 SDK1.toast / Development Kits (Disc 1) / OpenDoc / Environment Additions / Symantec / Additions / SOM (SPM) / somrcl.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-10-27  |  5.7 KB  |  163 lines  |  [TEXT/MPS ]

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: :SOMobjects™ for Mac OS:MPW Additions:Interfaces:CIncludes:somrcl.h.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.18
  7.  *     SOM Emitter emith.dll: 2.33
  8.  */
  9.  
  10. /*
  11.  * 
  12.  *      Copyright:    © 1995 by Apple Computer, Inc.
  13.  *                  All rights reserved.
  14.  * 
  15.  */
  16.  
  17.  
  18. #ifndef SOM_SOMRegisteredClassList_h
  19. #define SOM_SOMRegisteredClassList_h
  20.  
  21.  
  22. #include <som.h>
  23.  
  24. /*
  25.  * -- This emitter treats Method Tokens as Thunks by default.
  26.  * -- Use the sc modifier "nothunks" to change this default
  27.  */
  28. #undef somresolve_
  29. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  30.  
  31. /*
  32.  * Define the class name as an object type
  33.  */
  34. #ifndef SOMRegisteredClassList
  35. #define SOMRegisteredClassList SOMObject
  36. #endif
  37. #include <somobj.h>
  38.  
  39. /*
  40.  * Start of user-defined types:
  41.  */
  42. #ifndef SOMClass
  43.     #define SOMClass SOMObject
  44. #endif /* SOMClass */
  45. #ifndef SOMObject
  46.     #define SOMObject SOMObject
  47. #endif /* SOMObject */
  48.  
  49. /*
  50.  * End of user-defined types.
  51.  */
  52.  
  53. #define SOMRegisteredClassList_MajorVersion 70
  54. #define SOMRegisteredClassList_MinorVersion 1
  55.  
  56. /*
  57.  * External name shortening if required
  58.  */
  59. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  60. #define SOMRegisteredClassListClassData somrcld
  61. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  62. /*--------------Migration------------*/
  63.  
  64. #ifdef OLDIBMSOMAPISUPPORT
  65. #define SOMRegisteredClassList_classObj somNewClassReference(SOMRegisteredClassList)
  66. #define _SOMRegisteredClassList SOMRegisteredClassList_classObj
  67. #define SOMRegisteredClassListCClassData SOMRegisteredClassListClassData
  68. #define SOMRegisteredClassListNewClass(major,minor) somNewVersionedClassReference(SOMRegisteredClassList,major,minor)
  69. #endif
  70.  
  71. /* define xxxMetaClass macro to facilitate (cls ## MetaClass) */
  72. #define SOMRegisteredClassListMetaClass SOMClass
  73.  
  74.  
  75. /*
  76.  * Declare the class data structure
  77.  */
  78. SOMEXTERN struct SOMRegisteredClassListClassDataStructure {
  79. #ifdef OLDIBMSOMAPISUPPORT
  80.     SOMAny            *classObject;    /* always zero, use somNewClassReference instead */
  81. #else
  82.     long zero;
  83. #endif
  84.     somStaticClassInfo *sci;
  85.     somDToken        instanceDataToken;
  86.     long reserved [3];
  87.     somMToken somNewIndexedClassReference;
  88.     somMToken somNumRegisteredClasses;
  89. } SOMDLINK SOMRegisteredClassListClassData;
  90.  
  91. #if !defined(SOMRegisteredClassList_Class_Source) && !defined(SOM_Module_somrcl_Source)
  92. #if PRAGMA_IMPORT_SUPPORTED
  93. #pragma import list SOMRegisteredClassListClassData
  94. #endif
  95. #endif
  96.  
  97.  
  98. /*
  99.  * New macro for SOMRegisteredClassList
  100.  */
  101. #define SOMRegisteredClassListNew() somNewObject(SOMRegisteredClassList)
  102.  
  103. /*
  104.  * New Method: somNewIndexedClassReference
  105.  */
  106. typedef SOMClass*   (SOMLINK *somTD_SOMRegisteredClassList_somNewIndexedClassReference)(SOMRegisteredClassList *somSelf, Environment *ev,
  107.         long index);
  108. #define somMD_SOMRegisteredClassList_somNewIndexedClassReference "::SOMRegisteredClassList::somNewIndexedClassReference"
  109. #define SOMRegisteredClassList_somNewIndexedClassReference(somSelf,ev,index) \
  110.     (SOM_Resolve(somSelf, SOMRegisteredClassList, somNewIndexedClassReference) \
  111.     (somSelf,ev,index))
  112. #ifndef SOMGD_somNewIndexedClassReference
  113.     #if defined _somNewIndexedClassReference || defined __somNewIndexedClassReference
  114.         #undef _somNewIndexedClassReference
  115.         #undef __somNewIndexedClassReference
  116.         #define SOMGD_somNewIndexedClassReference 1
  117.     #else
  118.         #define _somNewIndexedClassReference SOMRegisteredClassList_somNewIndexedClassReference
  119.     #endif /* _somNewIndexedClassReference */
  120. #endif /* SOMGD_somNewIndexedClassReference */
  121.  
  122. /*
  123.  * New Method: somNumRegisteredClasses
  124.  */
  125. typedef long   (SOMLINK *somTD_SOMRegisteredClassList_somNumRegisteredClasses)(SOMRegisteredClassList *somSelf, Environment *ev);
  126. #define somMD_SOMRegisteredClassList_somNumRegisteredClasses "::SOMRegisteredClassList::somNumRegisteredClasses"
  127. #define SOMRegisteredClassList_somNumRegisteredClasses(somSelf,ev) \
  128.     (SOM_Resolve(somSelf, SOMRegisteredClassList, somNumRegisteredClasses) \
  129.     (somSelf,ev))
  130. #ifndef SOMGD_somNumRegisteredClasses
  131.     #if defined _somNumRegisteredClasses || defined __somNumRegisteredClasses
  132.         #undef _somNumRegisteredClasses
  133.         #undef __somNumRegisteredClasses
  134.         #define SOMGD_somNumRegisteredClasses 1
  135.     #else
  136.         #define _somNumRegisteredClasses SOMRegisteredClassList_somNumRegisteredClasses
  137.     #endif /* _somNumRegisteredClasses */
  138. #endif /* SOMGD_somNumRegisteredClasses */
  139. #ifndef SOM_DONT_USE_INHERITED_MACROS
  140. #define SOMRegisteredClassList_somInit SOMObject_somInit
  141. #define SOMRegisteredClassList_somUninit SOMObject_somUninit
  142. #define SOMRegisteredClassList_somDuplicateReference SOMObject_somDuplicateReference
  143. #define SOMRegisteredClassList_somCompareReference SOMObject_somCompareReference
  144. #define SOMRegisteredClassList_somRelease SOMObject_somRelease
  145. #define SOMRegisteredClassList_somFree SOMObject_somFree
  146. #define SOMRegisteredClassList_somCanDelete SOMObject_somCanDelete
  147. #define SOMRegisteredClassList_somGetClass SOMObject_somGetClass
  148. #define SOMRegisteredClassList_somGetClassName SOMObject_somGetClassName
  149. #define SOMRegisteredClassList_somGetSize SOMObject_somGetSize
  150. #define SOMRegisteredClassList_somIsA SOMObject_somIsA
  151. #define SOMRegisteredClassList_somRespondsTo SOMObject_somRespondsTo
  152. #define SOMRegisteredClassList_somIsInstanceOf SOMObject_somIsInstanceOf
  153. #define SOMRegisteredClassList_somDispatch SOMObject_somDispatch
  154. #define SOMRegisteredClassList_somClassDispatch SOMObject_somClassDispatch
  155. #define SOMRegisteredClassList_somCastObj SOMObject_somCastObj
  156. #define SOMRegisteredClassList_somResetObj SOMObject_somResetObj
  157. #define SOMRegisteredClassList_somPrintSelf SOMObject_somPrintSelf
  158. #define SOMRegisteredClassList_somDumpSelf SOMObject_somDumpSelf
  159. #define SOMRegisteredClassList_somDumpSelfInt SOMObject_somDumpSelfInt
  160. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  161.  
  162. #endif       /* SOM_SOMRegisteredClassList_h */
  163.